package com.cms.recursoshumanos.json.object;

import com.cms.recursoshumanos.constant.Constant;
import com.cms.recursoshumanos.json.me.JSONArray;
import com.cms.recursoshumanos.json.me.JSONException;
import com.cms.recursoshumanos.json.me.JSONObject;

public class JsonObjectGetPlanillaRecibo 
{

	private static JsonObjectGetPlanillaRecibo _instance = null;
	public static JsonObjectGetPlanillaRecibo getInstance() 
	{
		if(_instance == null)
			_instance = new JsonObjectGetPlanillaRecibo();
		
		return _instance;
	}
	private String Result;
	private String Result_Proceso;

	private static final String 
		GETPLANILLARECIBO = "GETPLANILLARECIBO",
		GETPLANILLARECIBO_STATUS = "STATUS",
		GETPLANILLARECIBO_DATA = "DATA",
				
		GETPLANILLARECIBO_STATUS_SOLICITUD = "STATUS_SOLICITUD";
	

	public void fromJSON (String jsonString) 
	{
		if (jsonString != null)
		{
			if (!jsonString.equals(""))
			{
				try
				{
					JSONObject jsonObject = new JSONObject(jsonString);	
					JSONObject planillaRecibo = jsonObject.getJSONArray(GETPLANILLARECIBO).getJSONObject(0);
					String status = planillaRecibo.getString(GETPLANILLARECIBO_STATUS);
					
					Result = status;
					
					if (status.equals(Constant.CODE_OK))
					{
		
						JSONArray data = planillaRecibo.getJSONArray(GETPLANILLARECIBO_DATA);
						
						JSONObject object_data = data.getJSONObject(0);
						String status_solicitud = object_data.getString(GETPLANILLARECIBO_STATUS_SOLICITUD);
						
						Result_Proceso = status_solicitud;
						
					}
					else
					{
						Result_Proceso = Constant.CODE_NOT_OK;
					}
				} 
				catch (JSONException ex) 
				{
					ex.printStackTrace();
					Result = Constant.CODE_EMPTY;
				}
				catch (Exception ex) 
				{
					ex.printStackTrace();
					Result = Constant.CODE_EMPTY;
				}
			}
			else
			{
				Result = Constant.CODE_NOT_SERVER_RESPONSE;
			}
		}
		else
		{
			Result = Constant.CODE_NOT_SERVER_RESPONSE;
		}
	}
	public String getResultProceso()
	{
		return this.Result_Proceso;
	}
	public String getResultMensaje()
	{
		return this.Result;
	}
	
	
}


